// 13005. 汉诺塔游戏 - 递归
// 执行操作：借助mid将n个从src挪动到dst
void hanota(int n, int a, int b, int c)
{
    if (n == 1)
    {
        move(a, c);
        return;
    }
    hanota(n - 1, a, c, b); // 借助dst将n-1个从src挪动到mid
    move(a, c);             // 第n个挪到dst
    hanota(n - 1, b, a, c); // 借助src将n-1个从mid挪动到dst
}

void solve(int n)
{
    hanota(n, 0, 1, 2);
}